package org.coopac.controller.simulador;

import java.util.ArrayList;
import java.util.List;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.ManagedProperty;
import javax.faces.bean.RequestScoped;
import javax.faces.model.SelectItem;

import org.coopac.controller.util.CuentaDataModel;
import org.coopac.model.CoopacConsultaSocioPotencial;
import org.coopac.model.CoopacDetalleConsultaSocioPotencial;
import org.coopac.model.CoopacTipoCredito;
import org.coopac.model.CoopacTipoCuenta;
import org.coopac.model.CoopacTipoMaestro;
import org.coopac.service.IConsultaSocioPotencialService;
import org.coopac.service.IDetalleConsultaSocioPotencialService;
import org.coopac.service.ITipoCreditoService;
import org.coopac.service.ITipoCuentaService;
import org.coopac.service.ITipoMaestroService;
@ManagedBean(name ="informacion")
@RequestScoped
public class InformacionPrestamoController {

	private static final long serialVersionUID = 1L;
	
	@ManagedProperty(value = "#{tipoMaestroService}")
	ITipoMaestroService tipoMaestroService;
	CoopacTipoMaestro tipoMaestro;

	@ManagedProperty(value = "#{tipoCuentaService}")
	ITipoCuentaService tipoCuentaService;
	CoopacTipoCuenta tipoCuenta;

	@ManagedProperty(value = "#{tipoCreditoService}")
	ITipoCreditoService tipoCreditoService;
	CoopacTipoCredito tipoCredito;
	
	@ManagedProperty(value = "#{consultaSocioPotencialService}")
	IConsultaSocioPotencialService consultaSocioPotencialService;
	CoopacConsultaSocioPotencial coopacConsultaSocioPotencial;

	@ManagedProperty(value = "#{detalleConsultaSocioPotencialService}")
	IDetalleConsultaSocioPotencialService detalleConsultaSocioPotencialService;
	CoopacDetalleConsultaSocioPotencial coopacDetalleConsultaSocioPotencial;
	
	CoopacTipoMaestro tipoMaestroCredito, tipoMaestroDivisa,
	                  tipoMaestroTipoInteres, tipoMaestroPagos;
	private Integer idTMCredio;
	private Integer idTMDivisa;
	private Integer idTMTipoInteres;
	private Integer idTMPagos;
	//private CuentaDataModel listaTipoCredito;
	private List<SelectItem> listaTipoCredito = new ArrayList<SelectItem>();


	public InformacionPrestamoController(){
		 tipoMaestro = new CoopacTipoMaestro();	
		 tipoCuenta = new CoopacTipoCuenta();
		 tipoCredito = new CoopacTipoCredito();
		 coopacConsultaSocioPotencial = new CoopacConsultaSocioPotencial();
		 coopacDetalleConsultaSocioPotencial = new CoopacDetalleConsultaSocioPotencial();
		 tipoMaestroCredito = new CoopacTipoMaestro();
		 tipoMaestroDivisa = new CoopacTipoMaestro();
		 tipoMaestroTipoInteres = new CoopacTipoMaestro();
		 tipoMaestroPagos = new CoopacTipoMaestro();
	}

	
	

	
	

	
	public List<SelectItem> getListaTipoCredito() {
		List<CoopacTipoCredito> o = new ArrayList<CoopacTipoCredito>();
		o.addAll(tipoCreditoService.listar());
		listaTipoCredito = new ArrayList<SelectItem>();
		for(CoopacTipoCredito ob:o){
			listaTipoCredito.add(new SelectItem(ob.getIdTipoCredito(),ob.getNombre()));
		}
		return listaTipoCredito;
	}

	public void setListaTipoCredito(List<SelectItem> listaTipoCredito) {
		this.listaTipoCredito = listaTipoCredito;
	}

	
	/**
	 * @return the tipoMaestroService
	 */
	public ITipoMaestroService getTipoMaestroService() {
		return tipoMaestroService;
	}

	/**
	 * @param tipoMaestroService the tipoMaestroService to set
	 */
	public void setTipoMaestroService(ITipoMaestroService tipoMaestroService) {
		this.tipoMaestroService = tipoMaestroService;
	}

	/**
	 * @return the tipoMaestro
	 */
	public CoopacTipoMaestro getTipoMaestro() {
		return tipoMaestro;
	}

	/**
	 * @param tipoMaestro the tipoMaestro to set
	 */
	public void setTipoMaestro(CoopacTipoMaestro tipoMaestro) {
		this.tipoMaestro = tipoMaestro;
	}

	/**
	 * @return the tipoCuentaService
	 */
	public ITipoCuentaService getTipoCuentaService() {
		return tipoCuentaService;
	}

	/**
	 * @param tipoCuentaService the tipoCuentaService to set
	 */
	public void setTipoCuentaService(ITipoCuentaService tipoCuentaService) {
		this.tipoCuentaService = tipoCuentaService;
	}

	/**
	 * @return the tipoCuenta
	 */
	public CoopacTipoCuenta getTipoCuenta() {
		return tipoCuenta;
	}

	/**
	 * @param tipoCuenta the tipoCuenta to set
	 */
	public void setTipoCuenta(CoopacTipoCuenta tipoCuenta) {
		this.tipoCuenta = tipoCuenta;
	}

	/**
	 * @return the tipoCreditoService
	 */
	public ITipoCreditoService getTipoCreditoService() {
		return tipoCreditoService;
	}

	/**
	 * @param tipoCreditoService the tipoCreditoService to set
	 */
	public void setTipoCreditoService(ITipoCreditoService tipoCreditoService) {
		this.tipoCreditoService = tipoCreditoService;
	}

	/**
	 * @return the tipoCredito
	 */
	public CoopacTipoCredito getTipoCredito() {
		return tipoCredito;
	}

	/**
	 * @param tipoCredito the tipoCredito to set
	 */
	public void setTipoCredito(CoopacTipoCredito tipoCredito) {
		this.tipoCredito = tipoCredito;
	}

	/**
	 * @return the consultaSocioPotencialService
	 */
	public IConsultaSocioPotencialService getConsultaSocioPotencialService() {
		return consultaSocioPotencialService;
	}

	/**
	 * @param consultaSocioPotencialService the consultaSocioPotencialService to set
	 */
	public void setConsultaSocioPotencialService(
			IConsultaSocioPotencialService consultaSocioPotencialService) {
		this.consultaSocioPotencialService = consultaSocioPotencialService;
	}

	/**
	 * @return the coopacConsultaSocioPotencial
	 */
	public CoopacConsultaSocioPotencial getCoopacConsultaSocioPotencial() {
		return coopacConsultaSocioPotencial;
	}

	/**
	 * @param coopacConsultaSocioPotencial the coopacConsultaSocioPotencial to set
	 */
	public void setCoopacConsultaSocioPotencial(
			CoopacConsultaSocioPotencial coopacConsultaSocioPotencial) {
		this.coopacConsultaSocioPotencial = coopacConsultaSocioPotencial;
	}

	/**
	 * @return the detalleConsultaSocioPotencialService
	 */
	public IDetalleConsultaSocioPotencialService getDetalleConsultaSocioPotencialService() {
		return detalleConsultaSocioPotencialService;
	}

	/**
	 * @param detalleConsultaSocioPotencialService the detalleConsultaSocioPotencialService to set
	 */
	public void setDetalleConsultaSocioPotencialService(
			IDetalleConsultaSocioPotencialService detalleConsultaSocioPotencialService) {
		this.detalleConsultaSocioPotencialService = detalleConsultaSocioPotencialService;
	}

	/**
	 * @return the coopacDetalleConsultaSocioPotencial
	 */
	public CoopacDetalleConsultaSocioPotencial getCoopacDetalleConsultaSocioPotencial() {
		return coopacDetalleConsultaSocioPotencial;
	}

	/**
	 * @param coopacDetalleConsultaSocioPotencial the coopacDetalleConsultaSocioPotencial to set
	 */
	public void setCoopacDetalleConsultaSocioPotencial(
			CoopacDetalleConsultaSocioPotencial coopacDetalleConsultaSocioPotencial) {
		this.coopacDetalleConsultaSocioPotencial = coopacDetalleConsultaSocioPotencial;
	}

	/**
	 * @return the tipoMaestroCredito
	 */
	public CoopacTipoMaestro getTipoMaestroCredito() {
		return tipoMaestroCredito;
	}

	/**
	 * @param tipoMaestroCredito the tipoMaestroCredito to set
	 */
	public void setTipoMaestroCredito(CoopacTipoMaestro tipoMaestroCredito) {
		this.tipoMaestroCredito = tipoMaestroCredito;
	}

	/**
	 * @return the tipoMaestroDivisa
	 */
	public CoopacTipoMaestro getTipoMaestroDivisa() {
		return tipoMaestroDivisa;
	}

	/**
	 * @param tipoMaestroDivisa the tipoMaestroDivisa to set
	 */
	public void setTipoMaestroDivisa(CoopacTipoMaestro tipoMaestroDivisa) {
		this.tipoMaestroDivisa = tipoMaestroDivisa;
	}

	/**
	 * @return the tipoMaestroTipoInteres
	 */
	public CoopacTipoMaestro getTipoMaestroTipoInteres() {
		return tipoMaestroTipoInteres;
	}

	/**
	 * @param tipoMaestroTipoInteres the tipoMaestroTipoInteres to set
	 */
	public void setTipoMaestroTipoInteres(CoopacTipoMaestro tipoMaestroTipoInteres) {
		this.tipoMaestroTipoInteres = tipoMaestroTipoInteres;
	}

	/**
	 * @return the tipoMaestroPagos
	 */
	public CoopacTipoMaestro getTipoMaestroPagos() {
		return tipoMaestroPagos;
	}

	/**
	 * @param tipoMaestroPagos the tipoMaestroPagos to set
	 */
	public void setTipoMaestroPagos(CoopacTipoMaestro tipoMaestroPagos) {
		this.tipoMaestroPagos = tipoMaestroPagos;
	}

	/**
	 * @return the idTMCredio
	 */
	public Integer getIdTMCredio() {
		return idTMCredio;
	}

	/**
	 * @param idTMCredio the idTMCredio to set
	 */
	public void setIdTMCredio(Integer idTMCredio) {
		this.idTMCredio = idTMCredio;
	}

	/**
	 * @return the idTMDivisa
	 */
	public Integer getIdTMDivisa() {
		return idTMDivisa;
	}

	/**
	 * @param idTMDivisa the idTMDivisa to set
	 */
	public void setIdTMDivisa(Integer idTMDivisa) {
		this.idTMDivisa = idTMDivisa;
	}

	/**
	 * @return the idTMTipoInteres
	 */
	public Integer getIdTMTipoInteres() {
		return idTMTipoInteres;
	}

	/**
	 * @param idTMTipoInteres the idTMTipoInteres to set
	 */
	public void setIdTMTipoInteres(Integer idTMTipoInteres) {
		this.idTMTipoInteres = idTMTipoInteres;
	}

	/**
	 * @return the idTMPagos
	 */
	public Integer getIdTMPagos() {
		return idTMPagos;
	}

	/**
	 * @param idTMPagos the idTMPagos to set
	 */
	public void setIdTMPagos(Integer idTMPagos) {
		this.idTMPagos = idTMPagos;
	}

	/**
	 * @return the serialversionuid
	 */
	public static long getSerialversionuid() {
		return serialVersionUID;
	}
}
